home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / pc / LOGIC Apple II 5.25" Library - DOS Part 3 / DOS065.dsk / APPLE FILE (C).bas < prev    next >
BASIC Source File  |  2012-02-16  |  8KB  |  178 lines

  1. 1  PRINT "<CTRL-D>NOMONI,O,C"
  2. 5  DIM IN$(60)
  3. 6  GOSUB 30
  4. 10  GOTO 3000
  5. 11  REM *************************
  6. 12  REM * DONATED BY AUTHOR TO  *
  7. 13  REM * NORTHERN ILLNOIS AUG  *
  8. 14  REM * DECLARED PUBLIC DOMAIN*
  9. 15  REM *************************
  10. 30  REM  READ INDEX
  11. 31  PRINT 
  12. 32  PRINT "<CTRL-D>OPEN INDEX": PRINT "<CTRL-D>READ INDEX"
  13. 34  FOR K = 1 TO 60: INPUT IN$(K): NEXT K
  14. 36  PRINT "<CTRL-D>CLOSE"
  15. 37  FOR K = 1 TO 60: IF IN$(K) = "EMPTY CARD"  THEN EC = EC +1
  16. 38  NEXT K:TC = 60 -EC
  17. 39  RETURN 
  18. 40  REM  SAVE PAGE
  19. 42  PRINT "<CTRL-D>BSAVE CARD";CN;",A$400,L$400"
  20. 49  RETURN 
  21. 50  REM STORE TITLE IN INDEX
  22. 52 IN$(CN) = A$
  23. 59  RETURN 
  24. 60  REM GET A$
  25. 61 A$ = "": FOR T = 1161 TO 1180: IF  PEEK(T) = 160  AND  PEEK(T +1) = 160  THEN 69
  26. 62 A$ = A$ + CHR$( PEEK(T) -128): NEXT T
  27. 69  RETURN 
  28. 70  REM  DELETE CARD
  29. 71  INVERSE : PRINT "DELETE?? (Y/N)";: NORMAL : INPUT "  ";Y$: IF Y$ < >"Y"  THEN  RETURN 
  30. 72  PRINT "DELETE CARD";CN
  31. 73  PRINT "<CTRL-D>DELETE CARD";CN: REM  DOS CMD
  32. 79  RETURN 
  33. 80  REM  SAVE INDEX
  34. 81  PRINT "QUITTING PROGRAM"
  35. 82  PRINT "<CTRL-D>OPEN INDEX": PRINT "<CTRL-D>WRITE INDEX"
  36. 84  FOR K = 1 TO 60: PRINT IN$(K): NEXT K
  37. 85  PRINT "<CTRL-D>CLOSE"
  38. 89  RETURN 
  39. 1000  REM GET AND READ A CARD
  40. 1010  PRINT : PRINT "WHAT IS THE CARD NUMBER OR ": PRINT "SUBJECT NAME: ";: INPUT Z$
  41. 1020  IF  ASC(Z$) <58  THEN 1100
  42. 1030  FOR T = 1 TO 60: IF IN$(T) = Z$  THEN 1050
  43. 1035  NEXT T
  44. 1045  PRINT : PRINT "          <CTRL-G><CTRL-G>NO SUCH CARD IN FILE"
  45. 1047  PRINT : PRINT ":";: GET Z$: GOTO 3010
  46. 1050 CN = T: HOME : PRINT "<CTRL-D>BLOAD CARD";CN: VTAB 22: HTAB 1: GET Z$
  47. 1051  IF  ASC(Z$) < >22  THEN 1056
  48. 1052  GOSUB 70
  49. 1053 TC = TC -1:IN$(CN) = "EMPTY CARD"
  50. 1056  IF  ASC(Z$) = 18  THEN TC = TC -1: GOTO 2018
  51. 1057  IF  ASC(Z$) = 16  THEN 7000
  52. 1060  GOTO 3000
  53. 1100  REM GET CARD BY NUMBER
  54. 1101  IF IN$( VAL(Z$)) = "EMPTY CARD"  THEN 1045
  55. 1105  HOME 
  56. 1110  PRINT "<CTRL-D>BLOAD CARD"; VAL(Z$)
  57. 1111 CN =  VAL(Z$)
  58. 1115  VTAB 22: HTAB 1: GET Z$
  59. 1120  GOTO 1051
  60. 2000  REM FILL CARD ROUTINE
  61. 2001  REM  ALREADY HAVE CN
  62. 2002  GOTO 2010
  63. 2005  VTAB 13: FLASH : HTAB 6: PRINT "EMPTY CARD": NORMAL : POKE 216,0: VTAB 2: HTAB 10:
  64. 2006  GOTO 2020
  65. 2010  TEXT : HOME : VTAB 1: PRINT "NO. ";CN
  66. 2011  ONERR  GOTO 2005
  67. 2012 A$ = IN$(CN)
  68. 2015  VTAB 2: HTAB 10: PRINT A$
  69. 2018  VTAB 4
  70. 2020  GET Z$: PRINT Z$;
  71. 2021  IF  ASC(Z$) < >27  THEN 2030
  72. 2022  GET Z$: IF Z$ = "C"  THEN  VTAB  PEEK(37)
  73. 2023  IF Z$ = "D"  THEN  VTAB  PEEK(37) +2
  74. 2024  IF Z$ = "I"  THEN  INVERSE 
  75. 2025  IF Z$ = "N"  THEN  NORMAL 
  76. 2026  IF Z$ = "F"  THEN  FLASH 
  77. 2030  IF  ASC(Z$) = 19  THEN  PRINT "<CTRL-D>BSAVE CARD";CN;",A$400,L$400": GOSUB 60:TC = TC +1:IN$(CN) = A$
  78. 2031  IF  ASC(Z$) = 19  THEN  HOME : VTAB 15: HTAB 10: PRINT "CARD IS SAVED."
  79. 2032  IF  ASC(Z$) = 19  THEN  FOR T = 1 TO 1000: NEXT T: GOTO 3000
  80. 2033  IF  ASC(Z$) = 16  THEN 7000
  81. 2034  IF  ASC(Z$) = 21  THEN  POKE 36, PEEK(36) +1
  82. 2040  IF  ASC(Z$) = 22  THEN 1052
  83. 2050  IF  PEEK(37) >22  THEN  FLASH : HTAB 10: PRINT "CARD FULL<CTRL-G><CTRL-G><CTRL-G>";: NORMAL : FOR T = 1 TO 1200: NEXT T: VTAB 23: HTAB 1: CALL  -958: VTAB 22: HTAB 1
  84. 2060  GOTO 2020
  85. 3000  REM DISPLAY MENU
  86. 3010  HOME : VTAB 2: INVERSE : HTAB 8: PRINT "  MENU   ": NORMAL : PRINT 
  87. 3011  HTAB 10: PRINT "I - INDEX LISTING"
  88. 3012  HTAB 10: PRINT "R - READ A CARD"
  89. 3013  HTAB 10: PRINT "W - WRITE A CARD"
  90. 3014  HTAB 10: PRINT "H - HELP INSTRUCTIONS"
  91. 3015  HTAB 10: PRINT "Q - QUIT"
  92. 3016  PRINT : HTAB 8: INVERSE : PRINT "  COMMANDS  ": NORMAL : PRINT 
  93. 3017  HTAB 2: PRINT "CTL-S = SAVE CARD     ESC-C =CURSOR UP"
  94. 3018  HTAB 2: PRINT "CTL-R = REVISE CARD   ESC-D =CURSOR DN"
  95. 3019  HTAB 2: PRINT "CTL-V = DELETE CARD   ESC-I =INVERSE"
  96. 3020  HTAB 2: PRINT "                      ESC-F =FLASHER"
  97. 3021  HTAB 2: PRINT "                      ESC-N =NORMAL"
  98. 3028  VTAB 20: HTAB 8: PRINT TC;" CARDS CURRENTLY IN USE."
  99. 3029  VTAB 22: HTAB 1: PRINT ":";: GET Z$
  100. 3040  IF Z$ = "R"  THEN 1000
  101. 3045  IF Z$ = "I"  THEN 5000
  102. 3050  IF Z$ = "W"  THEN 6000
  103. 3053  IF Z$ = "H"  THEN  GOTO 4000
  104. 3055  IF Z$ = "Q"  THEN  GOSUB 80: HOME : END 
  105. 3099  GOTO 3029
  106. 4000  GOSUB 8000: GOTO 3000
  107. 5000  REM INDEX LISTING
  108. 5010  HOME 
  109. 5011  GOTO 5020
  110. 5015  INPUT "HARDCOPY? (Y/N)";Q$
  111. 5016  IF Q$ = "Y"  THEN  PR# 2: PRINT  CHR$(31);"<CTRL-A>";
  112. 5020  HTAB 10: PRINT "INDEX LISTING": VTAB 3
  113. 5022  POKE 34,2: HOME 
  114. 5040  FOR T = 1 TO 60: PRINT "  CARD #";T;: HTAB 15: PRINT IN$(T)
  115. 5050  IF  PEEK(37) = 23  THEN  GET Z$: HOME 
  116. 5055  NEXT T
  117. 5056  PR# 0
  118. 5070  VTAB 22: PRINT ":";: GET Z$
  119. 5090  TEXT : SPEED= 255
  120. 5099  GOTO 3010
  121. 6000  REM  FIND A BLANK CARD
  122. 6011  FOR K = 1 TO 60
  123. 6021  IF IN$(K) = "EMPTY CARD"  THEN 6030
  124. 6025  NEXT K: GOTO 6040
  125. 6030 CN = K: GOTO 6060
  126. 6040 TC = TC +1:CN = TC
  127. 6060  TEXT : HOME : VTAB 1: PRINT "  CARD #";CN: VTAB 2: HTAB 10: GOTO 2020
  128. 7000  REM PRINT CARD ON PAPER
  129. 7010  PR# 2
  130. 7020  PRINT  CHR$(31);"<CTRL-A>";:
  131. 7030  VTAB 23: HTAB 38: POKE 34,24: POKE 32,38: POKE 33,1
  132. 7050 N = 1024
  133. 7060  FOR T = 0 TO 7:Q$ = "": FOR K = N TO N +39
  134. 7065 J =  PEEK(K +T *128): IF J >1999  THEN 7130
  135. 7070 Q$ = Q$ + CHR$(J)
  136. 7080  NEXT K
  137. 7090  PRINT Q$
  138. 7100  NEXT T
  139. 7110 N = N +40: IF N >1104  THEN 7130
  140. 7120  GOTO 7060
  141. 7130  PR# 0
  142. 7131  TEXT 
  143. 7140  GOTO 3000
  144. 8000  REM  EXPLANATION
  145. 8010  HOME : PRINT "THIS PROGRAM IS DESIGNED TO USE A DISK  AS A SORT OF CARD FILE.  THE USER MAY"
  146. 8020  PRINT "ENTER VIRTUALLY ANY DATA ON THE SCREEN  VIA THE APPLE KEYBOARD AND THEN 'SAVE'  THAT PAGE ONTO DISK.  PAGES MAY BE READ BACK IN THE SAME WAY."
  147. 8030  PRINT "<CTRL-J>WHEN WRITING A PAGE OR CARD FOR THE     FIRST TIME, APPLE WILL PRINT THE CARD   NUMBER AND POSITION THE CURSOR AT THE"
  148. 8040  PRINT "TOP OF THE PAGE.  WHATEVER IS ENTERED ONTHIS FIRST LINE IS THE 'TITLE' OF THE   CARD.  WHEN READING A CARD OFF THE DISK,IT MAY BE ACCESSED EITHER BY ITS TITLE  OR ITS NUMBER.  AN INDEX FILE IS MAIN-"
  149. 8050  PRINT "TAINED FOR EASE IN KNOWING WHAT IS      CURRENTLY STORED IN THE APPLEFILE."
  150. 8055  VTAB 23: PRINT "     (HIT SPACE BAR)": GET Q$: HOME 
  151. 8060  PRINT "THE CARDS IN THE APPLEFILE MAY BE EDITEDOR DELETED OR REVISED BY USING THE      COMMANDS WHICH APPEAR IN THE MENU.<CTRL-J><CTRL-J><CTRL-J>      ONE SAMPLE CARD IS CURRENTLY ON THIS    DISK JUST TO SHOW YOU HOW IT WORKS."
  152. 8070  PRINT "<CTRL-J><CTRL-J>IF YOU WISH TO USE THIS PROGRAM, I WOULDRECOMMEND THAT ONE DISKETTE BE DEDICATEDENTIRELY TO THIS FILE.  EACH PAGE SAVED USES 6 SECTORS ON YOUR DISK. THE PROGRAMMAKES ALLOWANCE FOR UP TO 60 FILE CARDS"
  153. 8080  PRINT "IN THE DIMENSION STATEMENT IN LINE 5.   <CTRL-J><CTRL-J>THE PROGRAM ASSUMES YOUR PRINTER IS     PLUGGED INTO SLOT #2"
  154. 8090  VTAB 23: PRINT "   (HIT SPACE BAR)": GET Z$: HOME 
  155. 8091  PRINT "TO INITIALIZE THIS PROGRAM YOU WILL": PRINT "HAVE TO CREATE THE BLANK 'INDEX' FILE."
  156. 8092  PRINT : PRINT "THE FASTEST WAY TO DO THAT IS TO "
  157. 8093  PRINT : PRINT "LOAD THIS PROGRAM": PRINT : PRINT "TYPE  'RUN 9000'  "
  158. 8094  PRINT : PRINT "PRESS RETURN": PRINT : PRINT "(THE SUBROUTINE AT 9000 WILL CREATE THE FILE FOR YOU)"
  159. 8096  VTAB 22: PRINT "     (HIT SPACE BAR)"
  160. 8097  GET Z$: HOME 
  161. 8098  PRINT : PRINT : PRINT "TO CAPTURE IMAGES FROM OTHER SOURCES    SEE REMARKS AT END OF THIS PROG"
  162. 8999  RETURN 
  163. 9000 D$ = "<CTRL-D>": REM  CTRL D
  164. 9010  PRINT D$;"OPEN INDEX"
  165. 9020  PRINT D$;"WRITE INDEX"
  166. 9030  FOR K = 1 TO 60
  167. 9040  PRINT "EMPTY CARD"
  168. 9050  NEXT K
  169. 9060  PRINT D$;"CLOSE INDEX"
  170. 9070  CALL  -936: VTAB 10: PRINT "   INDEX FILE CREATED"
  171. 9080  END 
  172. 10000  REM  BSAVE CARD(X).A$400.L$400
  173. 10001  REM  BSAVE CARD(X).A$2000.L$2000
  174. 10002  REM  USE FIRST ONE FOR TEXT
  175. 10003  REM  USE 2ND ONE FOR HIRES
  176. 63000  REM APPLEFILE WAS WRITTEN       BY T. HARTLEY               COPYRIGHT 1979              <CTRL-J><CTRL-J>(312) 956-1312            
  177. 63001  REM      MODIFIED BY
  178. 63002  REM   R.A.LUNDEEN 3-20-80